package 力扣_树算法.二叉树;

/**606. 根据二叉树创建字符串
 * @author zx
 * @create 2022-04-14 20:35
 */
public class Num606 {
    StringBuilder sb = new StringBuilder();
    public String tree2str(TreeNode root) {
        if(root == null){
            return "";
        }
        sb.append(root.val);
        if(root.left != null){
            sb.append("(");
            tree2str(root.left);
            sb.append(")");
        }else if(root.left == null){
            //左树为空的条件下,右树为空,就是叶子节点，省略括号
            //但是非叶子节点不可以省略括号
            if(root.right != null){
                sb.append("()");
            }
        }
        if(root.right != null){
            sb.append("(");
            tree2str(root.right);
            sb.append(")");
        }//右树为空时,()可以省略
        return sb.toString();
    }
}
